// 成品库存 API
import request from "@/utils/request";

// 成品库存 VO 定义（JavaScript 对象形式）
export const ProdStockRealVO = {
  // 主键ID
  id: 0,
  // 库存编号
  realNo: "",
  // 入库日期
  inDate: null,
  // 库存类型
  inType: "",
  // 仓库编码
  warehouseCode: "",
  // 仓库名称
  warehouseName: "",
  // 合同行号
  orderDetailNo: "",
  // 合同类型
  orderType: "",
  // 客户编码
  custNo: "",
  // 客户名称
  custName: "",
  // 产品规范码
  pscCode: "",
  // 产品规范描述
  pscName: "",
  // 物料分类名称
  categoryName: "",
  // 物料编码
  materialCode: "",
  // 物料名称
  materialName: "",
  // 冶金规范码
  mscCode: "",
  // 冶金规范描述
  mscName: "",
  // 产品大类
  prodClassName: "",
  // 品名
  prodName: "",
  // 标准编码
  standCode: "",
  // 标准号
  standNo: "",
  // 钢种编码
  steelGradeCode: "",
  // 钢种
  steelGradeName: "",
  // 交货状态
  delivStatus: "",
  // 规格
  prodSpec: "",
  // 直径(mm)
  soDiameter: 0,
  // 宽(mm)
  soWidth: 0,
  // 厚(mm)
  soThick: 0,
  // 长(mm)
  soLength: 0,
  // 计划交货期
  planDeliverDate: null,
  // 业务员
  salesman: "",
  // 精度要求
  accLevel: "",
  // 件次号
  batchNoSerial: "",
  // 批号
  batchNo: "",
  // 成品类型
  productType: "",
  // 轴号
  axisCode: "",
  // 轴净重
  weightOfNet: 0,
  // 箱号
  boxCode: "",
  // 箱总重
  totalWeight: 0,
  // 装箱数
  axialNumber: 0,
  // 箱皮重
  weightOfBox: 0,
  // 装箱计划明细ID
  planDetailId: 0,
  // 发货箱号
  sdBoxCode: "",
  // 装箱时间
  sdBoxDate: null,
  // 装箱人
  sdBoxStaff: "",
  // 数量
  prodCount: 0,
  // 数量单位
  countUnit: "",
  // 重量
  prodWg: 0,
  // 重量单位
  wgUnit: "",
  // 质量状态
  qmStatus: "",
  // 业务状态
  busStatus: "",
  // 业务备注
  busMemo: "",
  // 预留字段
  reserveVarchar1: "",
  reserveVarchar2: "",
  reserveVarchar3: "",
  reserveVarchar4: "",
  reserveDecimal1: 0,
};

// 成品库存 API
export const ProdStockRealApi = {
  // 查询成品库存分页
  getProdStockRealPage: function (params) {
    return request({
      method: "get",
      url: "/wm/prod-stock-real/page",
      params: params,
    });
  },

  getProdStockRealPDA: async (params) => {
    return await request({
      method: "get",
      url: `/wm/prod-stock-real/getStockRealForPDA`,
      params,
    });
  },

  getSdBoxList: async (params) => {
    return await request({
      method: "get",
      url: `/wm/pack-print-record/getSdBoxList`,
      params,
    });
  },

  // 拆箱操作
  unloadSdBox: async (params) => {
    return await request({
      method: "get",
      url: `/wm/prod-stock-real/unloadSdBox`,
      params,
    });
  },
  // 查询成品库存详情
  getProdStockReal: function (id) {
    return request({
      method: "get",
      url: "/wm/prod-stock-real/get?id=" + id,
    });
  },

  // 新增成品库存
  createProdStockReal: function (data) {
    return request({
      method: "post",
      url: "/wm/prod-stock-real/create",
      data: data,
    });
  },

  // 修改成品库存
  updateProdStockReal: function (data) {
    return request({
      method: "put",
      url: "/wm/prod-stock-real/update",
      data: data,
    });
  },

  // 删除成品库存
  deleteProdStockReal: function (id) {
    return request({
      method: "delete",
      url: "/wm/prod-stock-real/delete?id=" + id,
    });
  },

  // 导出成品库存 Excel
  exportProdStockReal: function (params) {
    return request({
      method: "get",
      url: "/wm/prod-stock-real/export-excel",
      params: params,
      responseType: "blob",
    });
  },
};

export default ProdStockRealApi;
